import { EntityDto } from "./entity";
import type { IAudited } from "./interfaces/audited";
import { PagedResultRequestDto } from "./paged-result-request";

export class MenuButtonDto extends EntityDto {
    public code!: string;

    public displayName!: string;

    public menuCode!: string;

    public sort: number = 1;

    public icon?: string;

    public isSplit!: boolean;

    public isActive: boolean = true;

    public description?: string;
}

export class MenuButtonResultDto extends MenuButtonDto implements IAudited {
    public menuName!: string;

    public creatorUserId?: number;

    public creationTime!: Date;

    public lastModifierUserId?: number;

    public lastModificationTime?: Date;
}

export class MenuButtonResultRequestDto extends PagedResultRequestDto {
    public menuCode?: string;

    public menuName?: string;
}